lectures.alex.balgavy.eu

Lecture notes from university.
git clone git://git.alex.balgavy.eu/lectures.alex.balgavy.eu.git
Log | Files | Refs | Submodules

index.md (989B)


      1 +++
      2 title = 'Basics of memory: no abstraction'
      3 +++
      4 # Basics of memory: no abstraction
      5 memory address space: addresses from first byte to last byte. in physical memory, it’s physical memory address space.
      6 
      7 no memory abstraction: monoprogramming
      8 
      9 options of arranging memory address space:
     10 
     11 ![screenshot.png](cc06de8ddf6b063f1bea853621c4d835.png)
     12 
     13 no memory abstraction: multiprogramming
     14 
     15 - naive approach: move each program to a dedicated region:
     16 
     17     ![screenshot.png](458fb8144ed8fbbd4f8529f5aa8aa32a.png)
     18 
     19     - problems:
     20         - relocation - you have to move to a completely different address.
     21             - load-time relocation option — as soon as program is loaded, patch all addresses with new ones
     22         - protection - both programs live together in memory. one program could overwrite the other
     23             - memory keys option — current memory protection key gets checked against memory protection key of address
     24 
     25 ![screenshot.png](d7fc124e438d318abe731701af147149.png)